/*
 * MainWindow.h
 *
 *  Created on: 24/01/2009
 *      Author: desadoc
 */

#ifndef MAINWINDOW_H_
#define MAINWINDOW_H_

#include <QMainWindow>

QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QMdiArea;
class QMdiSubWindow;
class QSignalMapper;
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow();

protected:
    void closeEvent(QCloseEvent *event);

private slots:
	void openFormEditor();
	void openFormFiller();
	void openFormAnalyzer();
	void about();
    void updateWindowMenu();
    void switchLayoutDirection();

private:
    void createActions();
    void createMenus();
    void createToolBars();
    void createStatusBar();
    void readSettings();
    void writeSettings();

    QMdiArea *mdiArea;
    QSignalMapper *windowMapper;

    QMenu *fileMenu;
    QMenu *windowMenu;
    QMenu *helpMenu;

    QToolBar *subProgramsBar;

    QAction *openFormEditorAct;
    QAction *openFormFillerAct;
    QAction *openFormAnalyzerAct;
    QAction *exitAct;
    QAction *closeAllAct;
    QAction *tileAct;
    QAction *cascadeAct;
    QAction *separatorAct;
    QAction *aboutAct;
    QAction *aboutQtAct;
};

#endif /* MAINWINDOW_H_ */
